package com.blog.service.comment;

import com.blog.dto.cond.CommentCondition;
import com.blog.model.Comment;
import com.github.pagehelper.PageInfo;

import java.util.List;

/**
 * 评论服务层的业务接口
 *
 * @author wmb
 *
 * @since 2021-2-9
 */
public interface CommentService {

    /**
     * 根据文章编号获取评论列表--只显示通过审核的评论-正常状态的
     *
     * @param cid 文章主键编号
     *
     * @return
     */
    List<Comment> getCommentsByCId(Integer cid);

    /**
     * 新增评论
     *
     * @param comment 评论的实体
     *
     * @return
     */
    void saveComment(Comment comment);

    /**
     * 根据条件获取评论列表
     *
     * @param commentCondition 查询条件
     * @param pageNum 分页参数 第几页
     * @param pageSize 分页参数 每页条数
     *
     * @return
     */
    PageInfo<Comment> getCommentsByCondition(CommentCondition commentCondition, Integer pageNum, Integer pageSize);

    /**
     * 查找单条评论
     *
     * @param id
     *
     * @return
     */
    Comment getCommentById(Integer id);

    /**
     * 删除评论
     *
     * @param id 评论的主键编号
     *
     * @return
     */
    void deleteCommentById(Integer id);

    /**
     * 更新评论的状态
     *
     * @param id 评论的主键编号
     * @param status 状态
     *
     * @return
     */
    void updateCommentStatus(Integer id, String status);
}
